charles.reitz
(usa Debian)
Enviado em 19/06/2011 - 11:46h
Bom Dia Pessoal,
Gostaria da ajuda da comunidade para resolver uma questão aparentemente simples porém não estou conseguindo resolver, tenho um Servidor c/ squid, firewall e MSN-Proxy, tenho o proprietário quer que seu Ip não passe por dentro do MSN-Proxy, porém tentei de várias formas fazer com que o seu IP conectasse por fora do servidor porém não dá. ROUTER, NAT,
Abaixo o scrip do firewall.
O script busca uns arquivos fora.
#!/bin/bash
#
# Titulo : Script de firewall com duas interface de redes (LAN e WAN)
# Versão : 1.0
#
# Criado (09/04/2008)
# Ultima atualização (09/04/2008)
#
### Ajuda do script de firewall
if [ "$1" == "--help" -o "$1" == "-h" ]
then
echo "Uso: $0 [OPÇÃO]"
echo
echo "start carrega todas as regras do script de firewall"
echo "stop limpa todas as regras do script de firewall"
echo
exit
fi
###
### Variaveis do script de firewall
IPTABLES="/sbin/iptables"
LOCAL="/etc/fw"
## Configuração LAN
ETH_LAN="eth1"
IP_LAN="192.168.1.1"
NET_LAN="192.168.1.0/24"
## Configuração WAN
ETH_WAN="eth0"
IP_WAN="10.1.1.2"
NET_WAN="10.1.1.0/8"
###
### Iniciando regras de firewall
case "$1" in
start)
echo "Carregando regras do script de firewall..."
## Carregando modulos necessarios para o script de firewall
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
modprobe ip_queue
modprobe ip_tables
modprobe ipt_LOG
modprobe ipt_MARK
modprobe ipt_MASQUERADE
modprobe ipt_REDIRECT
modprobe ipt_REJECT
modprobe ipt_TCPMSS
modprobe ipt_TOS
modprobe ipt_limit
modprobe ipt_mac
modprobe ipt_mark
modprobe ipt_multiport
modprobe ipt_owner
modprobe ipt_state
modprobe ipt_tcpmss
modprobe ipt_tos
modprobe iptable_filter
modprobe iptable_mangle
modprobe iptable_nat
## Carregando configurações no kernel do linux
echo "1" > /proc/sys/net/ipv4/ip_forward 2>/dev/null
echo "0" > /proc/sys/net/ipv4/tcp_window_scaling
echo "0" > /proc/sys/net/ipv4/tcp_ecn
## Limpando todas as regras
$IPTABLES -t filter -F
$IPTABLES -t nat -F
$IPTABLES -t mangle -F
$IPTABLES -X
## Carregando as politicas padrões
$IPTABLES -t filter -P INPUT DrOP
$IPTABLES -t filter -P FORWARD DrOP
$IPTABLES -t filter -P OUTPUT ACCEPT
## Carregando as regras personalizadas
### FILTER
## REGRAS DE FILTER - INPUT
# Libera a interface de loopback
$IPTABLES -t filter -A INPUT -i lo -j ACCEPT
# Deixa passar qualquer conexao ja estabelecida
$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Icmp (Protecao contra Death Ping)
$IPTABLES -A INPUT -p icmp -m limit --limit 1/s -j ACCEPT
# Syn (Protecao contra Syn Flood)
$IPTABLES -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT
# Libera acesso a entrada personalizado
for CFG_RULES in `cat $LOCAL/regras/entrada.personalizado.conf | egrep -v '^#'`; do
SOURCE=`echo $CFG_RULES | cut -d: -f1`
DEST=`echo $CFG_RULES | cut -d: -f2`
PROTO=`echo $CFG_RULES | cut -d: -f3`
PORT=`echo $CFG_RULES | cut -d: -f4`
$IPTABLES -A INPUT -p $PROTO -m state --state NEW -s $SOURCE -d $DEST --dport $PORT -j ACCEPT
done
# Log de qualquer outro tipo de conexao bloqueada
# $IPTABLES -A INPUT -j LOG --log-prefix "FW-Bloqueio-Input: " >> /var/log/fw.log 2>> /var/log/fw.log
# Bloqueia o que nao se enquadrar nas regras
$IPTABLES -A INPUT -j DROP
## REGRAS DE FILTER - FORWARD
# Libera a interface de loopback
$IPTABLES -t filter -A FORWARD -i lo -j ACCEPT
# Icmp (Protecao contra Death Ping)
$IPTABLES -A FORWARD -p icmp -m limit --limit 1/s -j ACCEPT
# Libera passar qualquer conexao ja estabelecida
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
#Libera para o ip do site do BMC
# $IPTABLES -A FORWARD -p tcp -m state --state NEW -s 192.168.1.105 -d 200.143.23.15 -o $ETH_WAN -j ACCEPT
# $IPTABLES -A FORWARD -p tcp -m state --state NEW -s 200.143.23.15 -d 192.168.1.105 -o $ETH_LAN -j ACCEPT
# Libera o roteamento para conexão a WAN, com regras personalizadas
for CFG_RULES in `cat $LOCAL/regras/roteamento.personalizado.conf | egrep -v '^#'`; do
SOURCE=`echo $CFG_RULES | cut -d: -f1`
DEST=`echo $CFG_RULES | cut -d: -f2`
PROTO=`echo $CFG_RULES | cut -d: -f3`
PORT=`echo $CFG_RULES | cut -d: -f4`
$IPTABLES -A FORWARD -p $PROTO -m state --state NEW -s $SOURCE -d $DEST --dport $PORT -o $ETH_WAN -j ACCEPT
done
# Log de qualquer outro tipo de conexao
# $IPTABLES -A FORWARD -j LOG --log-prefix "FW-Bloqueia-FORWARD: " >> /var/log/fw.log 2>> /var/log/fw.log
# Bloqueia o que nao se enquadrar nas regras
$IPTABLES -A FORWARD -j DROP
### NAT
## REGRAS DE NAT - PREROUTING
$IPTABLES -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128
# $IPTABLES -t nat -A PREROUTING -i eth1 -p tcp --dport 1863 -j REDIRECT --to-port 1863
## REGRAS DE NAT - POSTROUTING
#$IPTABLES -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE
# Encaminha os pacotes da LAN para WAN
# $IPTABLES -t nat -A POSTROUTING -s $NET_LAN -o $ETH_WAN -j SNAT --to $IP_WAN
# OBS.: PARA ADSL USE:
$IPTABLES -t nat -A POSTROUTING -s $NET_LAN -o $ETH_WAN -j MASQUERADE
# $IPTABLES -t nat -A POSTROUTING -o eth0 -s 192.168.1.16 -p tcp -m multiport --dport 1863,443 -j SNAT --to-source 10.1.1.2
# $IPTABLES -t nat -A PREROUTING -s 200.234.200.153 -j ACCEPT
$IPTABLES -t nat -A PREROUTING -i eth1 -p tcp --dport 1863 -j REDIRECT --to-port 1863
# $IPTABLES -t nat -A PREROUTING -i eth1 -p tcp --dport 1863 -j REDIRECT --to-port 1863
#IPTABLES -t nat -A PREROUTING -p tcp -d 10.1.1.2 --dport 1863 -j DNAT --to 192.168.1.16
#IPTABLES -t nat -A POSTROUTING -p tcp -s 192.168.1.16 --sport 1863 -j SNAT --to 10.1.1.2
#$IPTABLES -A FORWARD -s 10.1.1.2 -d 192.168.1.16 -p tcp --dport 1863
#$IPTABLES -A FORWARD -s 192.168.1.16 -d 10.1.1.16 -p tcp --dport 1863
#$IPTABLES -t FORWARD -j LOG
#$IPTABLES -t nat -A PREROUTING -d 192.168.1.16 -p tcp -m tcp --dport 1863 -j DNAT --to-destination 10.1.1.2:1863
## REGRAS de NAT - OUTPUT
### MANGLE
## REGRAS DE MANGLE - PREROUTING
## REGRAS DE MANGLE - INPUT
## REGRAS DE MANGLE - FORWARD
## REGRAS DE MANGLE - OUTPUT
## REGRAS DE MANGLE - POSTROUTING
echo "Regras do script de firewall carregadas!"
;;
### Parando o script de firewall
stop)
echo "Limpando as regras do script de firewall..."
## Carregando as politicas padrões
$IPTABLES -t filter -P INPUT ACCEPT
$IPTABLES -t filter -P FORWARD ACCEPT
$IPTABLES -t filter -P OUTPUT ACCEPT
## Limpando cadeias
$IPTABLES -t filter -F
$IPTABLES -t nat -F
$IPTABLES -t mangle -F
$IPTABLES -X
#$IPTABLES -t nat -A POSTROUTING -s $NET_LAN -o $ETH_WAN -j MASQUERADE
echo "Regras do script de firewall estão limpas"
;;
*)
echo "Erro! $0 --help"
;;
esac
exit 0
###### FIM ######
Como vocês podem observar tentei várias maneiras no NAT porém sem sucesso.
Ficarei no aguardo, obrigado pela ajuda, comunidade!